import json
from loguru import logger
from service import rabbitmq
from service.weibo_service import auto_random_weibo_comment, auto_weibo_comment_reply,auto_weibo_post

# 任务列表
task_list = {
    # 微博自动化随机帖子评论
    "ai-random-weibo-comment": auto_random_weibo_comment,
    # 微博评论@我回复
    "ai-weibo-comment-reply": auto_weibo_comment_reply,
    # 自动发帖
    "ai-weibo-post": auto_weibo_post,
}


def default_task(res=None):
    logger.warning(f"[*] 未找到该{res['type']}任务")


# 分配任务
def callback(ch, method, properties, body):
    try:
        res = json.loads(body.decode('utf-8'))
        task_name = res.get('type')
        task = task_list.get(task_name, default_task)
        task(res)  # 把消息数据传进去
    except Exception as e:
        logger.error(f"[×] 微博自动化程序报错: {e}")


if __name__ == '__main__':
    rabbitmq.create_consumer('ai-weibo-exchange', 'ai-weibo-queue', 'ai-weibo-routing', callback)
